import { throttle } from "../../utils/util";

// components/tabs/tabs.js
Component({
  /**
   * 组件的属性列表
   */
  options:{
    multipleSlots:true  // 开启支持多插槽
  },
  properties: {
    tabs:{
      type:Array,
      default:[]
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    currentTabIndex:0
  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleTabChange: throttle(function(e){
      // console.log(e);
      let index = e.currentTarget.dataset.index;
      if(index === this.data.currentTabIndex) {
         return ;
      }
      // console.log(index);
      this.setData({
        currentTabIndex:index
      })

      // 发送自定义事件
      this.triggerEvent('change',{index})
    }),

    handleTouchMove(e){ 
      // console.log(e); 
      // 0, -1, 1
      const direction = e.direction;
      const currentTabIndex = this.data.currentTabIndex;
      const targetTabIndex = currentTabIndex + direction; 
 
      // 越界判断
     if(targetTabIndex < 0  || targetTabIndex > this.data.tabs.length - 1){
       return ;
     } 
     const customEvent = {
        currentTarget:{
          dataset:{  index:targetTabIndex  }
        }
     }
     this.handleTabChange(customEvent);
    },
 
  }
})
